package com.sugeun.advertisement;

import net.daum.adam.publisher.AdView;
import net.daum.adam.publisher.AdView.AnimationType;
import net.daum.adam.publisher.AdView.OnAdClickedListener;
import net.daum.adam.publisher.AdView.OnAdClosedListener;
import net.daum.adam.publisher.AdView.OnAdFailedListener;
import net.daum.adam.publisher.AdView.OnAdLoadedListener;
import net.daum.adam.publisher.AdView.OnAdWillLoadListener;
import net.daum.adam.publisher.impl.AdError;

import com.mocoplex.adlib.SubAdlibAdViewCore;

import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;

//MobileAdSDK-2.0 기준으로 작성되었습니다.
//자세한 세부 내용은 ADAM SDK 개발 문서를 참조해주세요.
public class SubAdlibAdViewAdam extends SubAdlibAdViewCore  {
	private static final String LOGTAG = "";
	protected AdView adView = null;

	public SubAdlibAdViewAdam(Context context) {
		this(context,null);
	}	
	
	public SubAdlibAdViewAdam(Context context, AttributeSet attrs) {
		super(context, attrs);
		
		// 여기에 ADAM ID 를 입력하세요.
	
	}
	
	// 스케줄러에의해 자동으로 호출됩니다.
	// 실제로 광고를 보여주기 위하여 요청합니다.	
	public void query()
	{
		Log.i(LOGTAG, "쿼리???..");
		// 광고 클릭시 실행할 리스너
		String adamID = "29a3Z1fT136f2c31edc";
		adView = new AdView(this.getContext());	
		adView.setRequestInterval(10);
		adView.setAnimationType(AnimationType.FLIP_HORIZONTAL);
		adView.setVisibility(View.VISIBLE);
		gotAd();	
				adView.setOnAdClickedListener(new OnAdClickedListener() {
					@Override
					public void OnAdClicked() {
						Log.i(LOGTAG, "광고를 클릭했습니다.");
					}
				});

				// 광고 내려받기 실패했을 경우에 실행할 리스너
				adView.setOnAdFailedListener(new OnAdFailedListener() {
					@Override
					public void OnAdFailed(AdError arg0, String arg1) {
						Log.w(LOGTAG, arg1);
						Log.i(LOGTAG, "광고를 불러오지 못했습니다..");
						failed();
					}
				});

				// 광고를 정상적으로 내려받았을 경우에 실행할 리스너
				adView.setOnAdLoadedListener(new OnAdLoadedListener() {

					@Override
					public void OnAdLoaded() {
						Log.i(LOGTAG, "광고가 정상적으로 로딩되었습니다.");
						// 광고를 보이기 위해 먼저 화면에 표시한다.		
						
					}
				});

				// 광고를 불러올때 실행할 리스너
				adView.setOnAdWillLoadListener(new OnAdWillLoadListener() {

					@Override
					public void OnAdWillLoad(String arg1) {
						Log.i(LOGTAG, "광고를 불러옵니다. : " + arg1);
					}
				});

				// 광고를 닫았을때 실행할 리스너
				adView.setOnAdClosedListener(new OnAdClosedListener() {

					@Override
					public void OnAdClosed() {
						Log.i(LOGTAG, "광고를 닫았습니다.");
					}
				});
				
			
		adView.setClientId(adamID);
		this.addView(adView);
		
				
	}
	
	// 광고뷰를 삭제하는 경우 호출됩니다. 
	public void clearAdView()
	{
		if(adView != null)
		{
			adView.destroy();
			adView = null;			
		}

		super.clearAdView();
	}
	
	public void onResume()
	{
		super.onResume();
		
		if(adView != null)
		{
			adView.resume();
		}
	}
	public void onPause()
	{
		super.onPause();
		
		if(adView != null)
		{
			adView.pause();
		}		
	}
}
